/**
 * Apr 2, 2010
 */
package org.tomale.id.power.customers.inquiry;

import java.util.List;

import org.tomale.id.ProviderException;
import org.tomale.id.common.SearchFilterType;
import org.tomale.id.power.customers.Customer;
import org.tomale.id.power.customers.CustomerState;
import org.tomale.id.power.customers.CustomerType;


/**
 * @author ferd
 *
 */
public interface ICustomerProvider {

	public List<CustomerState> getCustomerStates() throws ProviderException;
	
	public List<CustomerType> getCustomerTypes() throws ProviderException;
	
	public List<SearchFilterType> getFilterTypes() throws ProviderException;
	
	public List<Customer> getCustomers(final SearchFilterType filterType,
			final String filter) throws ProviderException;
	
	public List<Customer> getCustomers(final String advancedFilter) 
		throws ProviderException;
}
